package Controlador;

import java.awt.Color;
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

import Modelo.Jugador;
import Modelo.JugadorDAO;


import Modelo.Jugador;
import Modelo.JugadorDAO;
import Vista.VistaJuego;
import Vista.VistaMenu;
import Vista.VistaGanador;


public class ControladorJugador implements ActionListener {

	
	private VistaJuego vistajuego;
	private VistaMenu vistamenu;
	private VistaGanador vistaganador;
	//Constructor del ControladorMenu y llamada de la VistasMenu
	public ControladorJugador(int casillas,String time,String nivelfinal) {
		super();
		this.vistaganador = new VistaGanador();
		this.vistaganador.setTxtpuntuacion(String.valueOf(casillas));
		this.vistaganador.setTxttiempo(time);
		this.vistaganador.setTxtnivel(nivelfinal);
		this.vistaganador.setLocationRelativeTo(null);
		this.vistaganador.setVisible(true);	
		this.vistaganador.addListener(this);		
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		String actionCommand = e.getActionCommand();
	
		if (actionCommand.equals("Aceptar")) {
			
			registrarJugadores();
			new ControladorMenu();
		}	
	
		else if (actionCommand.equals("Cancelar")) {
    		vistaganador.getTxtnombre().equals("");
    		vistaganador.getTxtpuntuacion().equals("");
    		vistaganador.getTxttiempo().equals("");
    		vistaganador.getTxtnivel().equals("");
	   	
		
		}
		else if (actionCommand.equals("Salir")) {
				
			this.vistaganador.dispose();
			new ControladorMenu();
		}
		};
		private void registrarJugadores(){
		  	try
			{
		    	if(vistaganador.getTxtnombre().equals(""))
		    	   
		    	   JOptionPane.showMessageDialog(null, "Debe Introducir el nombre");
		    	else
		    	{
		    		JugadorDAO jugadorDAO = new JugadorDAO();
			    	Jugador jugador = new Jugador(vistaganador.getTxtnombre(),Float.parseFloat(vistaganador.getTxtpuntuacion()),Double.parseDouble(vistaganador.getTxttiempo()),vistaganador.getTxtnivel());		    
			    	if (jugadorDAO.registrarJugador(jugador)){
			    			JOptionPane.showMessageDialog(null, "Su nombre a sido registrado con exito");
				    		vistaganador.getTxtnombre().equals("");
				    		vistaganador.getTxtpuntuacion().equals("");
				    		vistaganador.getTxttiempo().equals("");
				    		vistaganador.getTxtnivel().equals("");
			    	}
				    		
		    	}
			}catch(Exception e)
			{
				   JOptionPane.showMessageDialog(null, "No se ha podido realizar el registro");
					vistaganador.getTxtnombre().equals("");
		    		vistaganador.getTxtpuntuacion().equals("");
		    		vistaganador.getTxttiempo().equals("");
		    		vistaganador.getTxtnivel().equals("");
		    
			}
		}

}
